'''
2520是可以被1到10中的每个数字除以没有余数的最小数字。什么是可以被1到20的所有数字整除的最小正数？

先定义函数 f(x,y)，用来求解任意两个数字的最大公约数。
思路是：先比校 x,y 得出更小的数字，然后从1到这个更小的数字，逐一拿来跟 x 和 y 除，如果都能整除，则表示是公约数，取最大的公约数即可。
    之后就简单了，从 1 开始，两个两个地计算最小公倍数，结果再与下一个数字一起计算最小公倍数，算到 20 就能得出答案了。

求解 a,b 两个数字的最小公倍数，可以把 a,b 相乘，然后除以这两个数字的小大公约数。
'''

def f(x, y):
    t = 1
    for i in range(1, min(x, y) + 1):
        if x % i == 0 and y % i == 0:
            t = max(t, i)
    return t


m = 1
for i in range(1, 21):
    # 两个数字相乘，再除以其最大公约数，可得最小公倍数
    m = (m * i) // f(m, i)
print(m)